﻿using System.Collections.Generic;
using MediaBrowserSL.BOL;
using System;

namespace MediaBrowserSL.IBLL
{
    public interface IMediaManager
    {
        /// <summary>
        /// Retourne la Liste des média
        /// </summary>
        /// <param name="idUser"></param>
        /// <param name="idCategory"></param>
        /// <returns></returns>
        IEnumerable<Media> GetListMediasByCategory(int idUser, int idCategory);

        /// <summary>
        /// Create New Media
        /// </summary>
        /// <param name="m"></param>
        /// <returns></returns>
        Media CreateMedia(Media m, User u);

        /// <summary>
        /// Update  Media
        /// </summary>
        /// <param name="m"></param>
        void UpdateMedia(Media m);

        /// <summary>
        /// Delete  Media
        /// </summary>
        /// <param name="m"></param>
        void DeleteMedia(Media m, User u);

        /// <summary>
        /// Create Media Item
        /// </summary>
        /// <param name="mediaItem"></param>
        /// <param name="mediaParent"></param>
        /// <param name="u"></param>
        /// <returns></returns>
        Media CreateMediaItem(Media mediaItem, Media mediaParent, User u);

        /// <summary>
        ///  Convert PDF Book to Image Files
        /// </summary>
        /// <param name="urlPdfBook"></param>
        /// <param name="u"></param>
        /// <returns></returns>
        IEnumerable<String> GenerateImagesFromPdfBook(String urlPdfBook, User u);

        /// <summary>
        /// Get Sum Size By User
        /// </summary>
        /// <param name="u"></param>
        /// <returns></returns>
        Dictionary<int, double> GetSize(User u);
    }
}
